'use strict';
//电话号码
//var phoneNo ='fIM1EZHegX5DMbURt8spXvbJ9Wscgfuw';
var phoneNo =getPhoneNo(); //获取电话号
var phoneObj={"phoneNo": phoneNo};

//不在app的跳转
var notAppUrl='http://a.app.qq.com/o/simple.jsp?pkgname=zz.dela.cmcc.traffic';

//url
// var baseUrl='http://39.104.73.55:19019';
var baseUrl='http://wx.10086.cn/jilin/global/move/api'

//更多流量
var flowAddUrl=baseUrl+'/flow/add';
//分享
var shareAddUrl=baseUrl+'/share/add';

//是否有获奖机会
var prizeChanceUrl=baseUrl+"/prize/chance";
//我的奖品
var prizeMineUrl=baseUrl+"/prize/mine";
//剩余奖个数
var prizeCountUrl=baseUrl+"/prize/remaining/count";

//报名
var signupAddUrl=baseUrl+'/signUp/add';
//是否报过名
var signupOldUrl=baseUrl+'/signUp/ifOldHand';

//规则信息
var ruleDetailsUrl=baseUrl + "/rule/details";
var ruleOverUrl=baseUrl+"/rule/selOverdue";

//开始挑战
var challengeStartUrl=baseUrl + "/challenge/start";
//剩余次数
var challengeRemainUrl=baseUrl + "/challenge/remaining/times/today";
//结束挑战
var challengeEndUrl=baseUrl + "/challenge/end";

//访问过
var userOldUrl=baseUrl + "/user/ifOldHand";


//更多流量 （种树）
var moreUrl='http://wx.10086.cn/jilin/global/tree/index.html#/';

//分享
// var shareUrl='http://property3c.com:8080/move/challengeTimer.html';
var shareUrl='http://wx.10086.cn/jilin/global/move/challengeTimer.html';

//计时器
var t;

var vm=new Vue({
    el:'#app',
    data:{
        ios_android: null//标志设备系统
        ,isApp:null //内部应用表示
        ,isOverFlag:false //过期标识
        ,nullFlag:false //没有剩余奖品
        ,overMsg:'' //过期提示
        ,isFirst:false //显示引导页
        ,noticeMsg:'点击“一键报名”' //引导页提示
        ,popShow:true //显示弹出层遮罩
        ,sum:20000 //剩余份数
        ,sumString:'' //剩余的字符串
        ,step: 1  //按钮的标记
        ,helpFlag: 1 //帮助按钮的标记
        ,isAnimate:false //时钟
        ,noticeShow:false //计时结束提示
        ,time:0 //计时时间
        ,startTime: null //开始时间
        ,endTime: null //结束时间
        ,noGet:-1 //没领过奖
        ,successFlag:-1 //挑战是否成功
        ,restTimes:3 //剩余次数
        ,isNoChance:false //没机会
        ,showRuleFlag:false //活动规则
        ,ruleList:''
        ,showPrize:false //显示奖品
        ,flowCount:'' //流量
        ,startId:''//开始id
        ,endBtn:false//结束按钮可用状态
    },
    mounted:function() {
        this.isNotApp(); //判断是否在app中
        this.isOverdue();//判断是否过期
        this.getUrlParam(); //获取设备参数
        this.fisrtInvite(); //判断是否第一次访问
        this.count(); //剩余份数
        this.remaining(); //剩余次数
    },
    methods:{
        //不在app执行
        isNotApp:function () {
            this.isApp=userAgent();
            if(this.isApp==0){
                this.popShow=false;
            }
        },
        //判断是否过期
        isOverdue:function () {
            this.$http.get(ruleOverUrl)
                .then(function(response){
                    if(response.body.code==400){ //过期，显示提示框 提示过期描述
                        this.isOverFlag=true;
                        this.overMsg=response.body.message;
                    }

                }).catch(function(response) {
                console.log(response)
            });
        },
        //过期显示
        overdueShow:function() {
            this.popShow=true;
            this.noticeShow=true;
        },
        //获取设备参数
        getUrlParam:function(){
            var after = window.location.hash.split('?')[1];
            if (after) {
                var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
                var r = after.match(reg);
                if (r != null) {
                    this.ios_android = decodeURIComponent(r[2])
                } else {
                    this.ios_android = null;
                }
                console.log(this.ios_android);
            }
        },
        //判断第一次访问
        fisrtInvite:function () {
            if(this.isApp==1){
                this.$http.post(userOldUrl,phoneObj)
                    .then(function(response){
                        var isFirst=response.body.data.code==0?1:0;
                        console.log('访问过code：'+response.body.data.code);
                        //显示引导页+ 报名按钮
                        if(isFirst){
                            this.isFirst=true;
                            this.popShow=true;
                            this.step=1;
                        }
                        else{
                            this.isFirst=false;
                            this.popShow=false;
                            this.isSignUp();
                        }
                    }).catch(function(response) {
                    console.log(response)
                });
            }

        },
        //剩余的奖品数
        count:function () {
            this.$http.get(prizeCountUrl)
                .then(function(response){
                    this.sum=response.body.data.count;
                    this.sumString='剩余'+ this.sum +'份'
                }).catch(function(response) {
                console.log(response)
            });
        },
        //判断是否已报名
        isSignUp:function () {
            this.isFirst=false;
            this.popShow=false;
            this.$http.post(signupOldUrl,phoneObj)
                .then(function(response){
                    if(response.body.code==200){
                        var hasSign=response.body.data.code;
                        if(hasSign){ //报名了，显示计时按钮
                            this.step=2;
                        }
                        else{//没报名，显示报名按钮
                            this.step=1;
                        }
                    }

                }).catch(function(response) {
                console.log(response)
            });
        },
        //剩余次数
        remaining:function(){
            this.$http.post(challengeRemainUrl,phoneObj)
                .then(function(response){
                    this.restTimes=response.body.data.count;
                }).catch(function(response) {
                console.log(response)
            });
        },
        //报名
        signUp:function (e) {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                if(this.isOverFlag){//判断是否过期
                    this.overdueShow();
                }
                else {

                    this.$http.post(signupAddUrl, phoneObj)
                        .then(function (response) {
                            if (response.body.code == 200) {
                                var hasSign = response.body.data.code;
                            }

                        }).catch(function (response) {
                        console.log(response)
                    });
                    var class_name_android = "zz.dela.cmcc.traffic.activity.OneKeyCheckActivity";
                    var class_name_ios = "OneKeyCheckoutController";
                    window.g_service.clickServiceOnMobile(class_name_android, class_name_ios, "ur");
                    this.step = 2;

                }
            }
        },
        //开始计时
        start:function (e) {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                //判断挑战剩余次数
                if (this.restTimes > 0) {                
                    //开始时间
                    var data=new Date();
                    this.startDate=data.getTime();
                    this.endBtn = false;//结束按钮不可用
                    this.isAnimate = true;//开始动画
                    this.step = 3;//显示结束按钮
                    this.restTimes--;//次数减一
                    this.time = 0;//时间置0
                    timedCount();//清空历史计时器

                    //判断是否过期
                    if(this.isOverFlag){
                        this.overdueShow();
                    }
                    else {
                        this.$http.post(challengeStartUrl, phoneObj)
                            .then(function (response) {
                                if (response.body.code == 200) {
                                    this.startId = response.body.data.id;
                                    this.endBtn = true;//结束按钮设置可用
                                    //this.time = 0;
                                    //this.restTimes--;
                                    //this.step = 3;
                                    //this.isAnimate = true;
                                    //timedCount();
                                }
                                else{
                                    alert(response.body.code);
                                }
                            }).catch(function (response) {
                            console.log(response)
                        });
                    }
                }
                else{
                    this.popShow = true;
                    this.noticeShow = true;
                    this.isNoChance = true;
                    return;
                }
            }
        },
        //计时结束
        end:function (e) {
            if(!this.endBtn){//结束按钮不可用则无作为
                return
            }
            //结束时间
            var data=new Date();
            this.endDate=data.getTime();
            //时间差(毫秒)
            var diff=this.endDate-this.startDate;
            //时间差（秒）
            this.time=parseInt(diff/1000);

            this.isAnimate=false;
            this.popShow=true;
            this.noticeShow=true;
            this.step=1;

            //清掉监听60秒
            c=0;
            clearTimeout(t);
            //向后传时间并取当前将数
            this.$http.post(challengeEndUrl,{
                "challengeGrade": this.time*1000,
                "id": this.startId,
                "phoneNo": phoneNo
            }).then(function (response) {

                //当前剩余份数
                this.sum = response.body.data.count; 
                //中奖了                       
                if (response.body.code == 200) {
                    //挑战成功
                    this.successFlag=1;
                    //有中奖机会了noGet=1
                    this.noGet = response.body.data.noGet; 
                    //剩余奖品数减1
                    this.sum=this.sum-1;
                    this.sumString='剩余'+ this.sum +'份'                               
                }
                //没中奖
                else{
                    //成绩是10s，但未中奖。两个原因：1.挑战结束前奖池空了sum=0;2.没有中奖机会了noGet=0
                    if(this.time == 10){
                        //挑战结束前奖池空了sum=0
                        if(this.sum==0){
                            //剩余0份
                            this.sumString='剩余'+ this.sum +'份';
                            this.nullFlag=true;
                            this.overMsg='<div class="h2">恭喜您挑战成功!</div>' +
                                '<div class="text-normal">啊哦，您来晚了，</br>'+'奖品已被抢光！</div>';
                            this.overdueShow();
                        }
                        else{
                        //没有中奖机会了noGet=0
                        this.noGet = response.body.data.noGet;  
                        }
                        //挑战成功但是没得到奖品
                        this.successFlag=1;
                    }   
                    //成绩不是10s
                    else{
                     
                        //挑战失败
                        this.successFlag=0;
                    }
                }

            }).catch(function (response) {
                console.log(response)
            });
        },
        //超过1分钟
        outTime:function () {
            //向后传时间并取当前将数
            this.$http.post(challengeEndUrl,{
                "challengeGrade": c*1000,
                "id": this.startId,
                "phoneNo": phoneNo
            }).then(function (response) {
                if (response.body.code == 200) {
                    this.isAnimate=false;
                    this.popShow=true;
                    this.noticeShow=true;
                    this.successFlag=0;
                    this.step=1;
                    //清掉监听60的值
                    c=0;
                    clearTimeout(t);
                }
            });

        },
        //判断是否领过将
        isGetPrize:function () {
            this.$http.post(prizeChanceUrl,phoneObj)
                .then(function(response){
                    this.noGet=response.body.data.code;
                }).catch(function(response) {
                console.log(response)
            });
        },
        //再来一次
        oneMore:function (e) {
            this.time=0;
            this.successFlag=-1;
            if(this.restTimes>0){ //如果还有机会
                this.popShow=false;
                this.noticeShow=false;
            }
            else{  //机会用完
                this.popShow=true;
                this.noticeShow=true;
                this.isNoChance=true;
            }
        },
        //不显示提示
        hideNotice:function (e) {
            this.popShow=false;
            this.noticeShow=false;
            this.successFlag=-1;
            this.nullFlag=false;//奖品被抢光flag
            this.noGet=-1; //设置获奖机会值
        },
        //显示活动规则
        showRule:function () {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                if(this.isOverFlag){//判断是否过期
                    this.overdueShow();
                }
                else{
                    this.$http.get(ruleDetailsUrl)
                        .then(function(response){
                            this.ruleList=response.body.data.ruleList;
                        }).catch(function(response) {
                        console.log(response)
                    });
                    this.popShow=true;
                    this.showRuleFlag=true;
                }
            }
        },
        //隐藏活动规则
        closeRule:function () {
            this.popShow=false;
            this.showRuleFlag=false;
        },
        //我的奖品
        myPrize:function () {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                if(this.isOverFlag){//判断是否过期
                    this.overdueShow();
                }
                else {
                    this.$http.post(prizeMineUrl, phoneObj)
                        .then(function (response) {
                            var code = response.body.code;
                            if (code == 200) {
                                this.flowCount = response.body.data.count;
                                this.showPrize = true;
                            }

                        }).catch(function (response) {
                        console.log(response)
                    });
                }
            }
        },
        //更多流量
        moreFlow:function () {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                if(this.isOverFlag){//判断是否过期
                    this.overdueShow();
                }
                else {
                    this.$http.post(flowAddUrl, phoneObj)
                        .then(function (response) {
                            var code = response.body.code;
                            if (code == 200) {
                                window.location.href = moreUrl;
                            }
                        }).catch(function (response) {
                        console.log(response)
                    });
                }
            }
        },
        //分享
        share:function () {
            if(this.isApp==0){
                window.location.href=notAppUrl;
            }
            else{
                if(this.isOverFlag){//判断是否过期
                    this.overdueShow();
                }
                else {
                    this.$http.post(shareAddUrl, phoneObj)
                        .then(function (response) {
                            var code = response.body.code;
                            if (code == 200) {
                                if(this.ios_android=="1"||this.ios_android==null){
                                    window.g_share.clickOnAndroid(encodeURIComponent('{"activityId":711,"type":0,"normaltem":{"id":-1,"name":"10086","title":"我在玩app十秒挑战，你能赢我吗？","url":"'+ shareUrl +'","content":"【免费领】200M流量"},"specialList":[]}'));
                                }else if(this.ios_android=="2"){
                                    window.location.href = 'ios://callShare?data={"activityId":711,"type":0,'+
                                        '"normaltem":{"img1":"http://wx.10086.cn/gfms/11/koulinghongbao/image/shareIcon.png",'+
                                        '"id":-1,"name":"10086","title":"我在玩app十秒挑战，你能赢我吗？","url":"'+shareUrl+'","content":"【免费领】200M流量"},"specialList":[]}'
                                }
                            }
                        }).catch(function (response) {
                        console.log(response)
                    });
                }
            }
        }
    }
});

/**
 * //判断是不是内容应用
 */
function userAgent() {
    if(navigator.userAgent.indexOf("10086APP")==-1){
        //alert("不在10086app内部");
        return false;
    }
    else{
        //alert("在10086app内部");
        return true;
    }
}


/*
* 获取电话
* @param mobile 参数名
*/
function getPhoneNo() {
    var mobile=getQueryString(mobile);
    if(mobile){
        return mobile;
    }
    else if(window.phone){
        mobile = window.phone.obtainPhone();//	加密过的手机号
    }
    return mobile;
}
/*
* url获取电话
* @param mobile 参数名
*/
function getQueryString(mobile) {
    var reg = new RegExp("(^|&)" + mobile + "=([^&]*)(&|$)", "i"); // 匹配目标参数
    var result = window.location.search.substr(1).match(reg); // 对querystring匹配目标参数
    if (result != null) {
        return decodeURIComponent(result[2]);
    } else {
        return null;
    }
}

//计时
var c=0;
function timedCount() {
    t=setTimeout("timedCount()",2000);
    c +=2;
    if( c == 60){
        vm.time=60;
        vm.outTime();
    }
    console.log(c);
}


